package cn.udinghuo.model.goods.infrastructure.vo;


import ma.glasnost.orika.MapperFacade;
import cn.udinghuo.AppContext;

import java.util.List;
import cn.udinghuo.model.goods.infrastructure.ProductUnit;	
/**
 * @author 
 *	商品基础信息模块
 */
public class VoTransfer {

    private static VoTransfer ourInstance = new VoTransfer();

    public static VoTransfer getInstance() {
        return ourInstance;
    }

    private VoTransfer() {
    	beanMapperFacade = AppContext.getBean(MapperFacade.class);
    }

    private MapperFacade beanMapperFacade;
    
	public List<ProductUnitVo> transferProductUnitsToVo(List<ProductUnit> productUnits) {
		if (productUnits == null || productUnits.size()<=0) {
			return null;
		}
		List<ProductUnitVo> productUnitVos = beanMapperFacade.mapAsList(productUnits, ProductUnitVo.class);
		return productUnitVos;
	}

	public ProductUnitVo transferProductUnitToVo(ProductUnit productUnit) {
		if (productUnit == null) {
			return null;
		}
		ProductUnitVo productUnitVo = beanMapperFacade.map(productUnit, ProductUnitVo.class);
		return productUnitVo;
	}
	
	public List<ProductUnit> transferVoToProductUnits(List<ProductUnitVo> productUnitVos) {
		if (productUnitVos == null || productUnitVos.size()<=0) {
			return null;
		}
		List<ProductUnit> productUnits = beanMapperFacade.mapAsList(productUnitVos,
				ProductUnit.class);
		return productUnits;
	}

	public ProductUnit transferVoToProductUnit(ProductUnitVo productUnitVo) {
		if (productUnitVo == null) {
			return null;
		}
		ProductUnit productUnit = beanMapperFacade.map(productUnitVo,
				ProductUnit.class);
		return productUnit;
	}
}

